package com.scs.application.modules.report.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;
/**
 * <p>
 * 图表字段配置
 * </p>
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "报表图标字段表")
@TableName("report_chart_field")
public class ChartField extends DataEntity {


    // id ,在父类中处理

    @EntityFieldAnnotation(
            text = "报表ID",
            type = EntityFieldType.LONG,
            length = "",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String reportId;

    @EntityFieldAnnotation(
            text = "标签字段",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String labelField;

    @EntityFieldAnnotation(
            text = "值字段",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String valueField;

    @EntityFieldAnnotation(
            text = "图例名称",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String legend;

    @EntityFieldAnnotation(
            text = "是否系列",
            length = "1",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Boolean flagSeries;

    @EntityFieldAnnotation(
            text = "坐标轴",
            length = "10",
            not_null = false,
            default_value = "",
            comment = "None：不显示，X：X轴，Y：Y轴。字典值：report_chart_field_axis"
    )
    private String axis;

    @EntityFieldAnnotation(
            text = "系列类型",
            length = "",
            not_null = true,
            default_value = "",
            comment = "line、bar、pie"
    )
    private String seriesType;

    @EntityFieldAnnotation(
            text = "Y轴索引",
            length = "",
            not_null = true,
            default_value = "0",
            comment = "当存在多个Y轴字段且 flag_series = true 时，才需要设定"
    )
    private Integer yAxisIndex;


    @EntityFieldAnnotation(
            text = "堆叠",
            length = "30",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String stack;

    @EntityFieldAnnotation(
            text = "排序",
            length = "",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private Integer sort;


    // creator ,在父类中处理


    // gmt_create ,在父类中处理


    // modifier ,在父类中处理


    // gmt_modified ,在父类中处理

    @EntityFieldAnnotation(
            text = "备注",
            length = "200",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remarks;

}
